The present invention relates generally to halftone images and more particularly to methods of generating halftone images by a dither matrix. A printer can be designed to print a picture as a halftone or a grey scale image. For a halftone image, each pixel of the image either has a dot printed or not printed. For a grey scale image, each dot on a pixel is further refined to have one of many grey levels.
A halftone image is usually easier and cheaper to generate than a grey scale image. Many relatively low cost printers are specifically designed to print halftone images. To use such a printer to print a grey scale image, the image must first be transformed to a half tone image. One objective of the printing industry is to develop appropriate transformation techniques so that the halftone image becomes visually indistinguishable from the grey scale image.
One prior art method transforms a grey scale image to a halftone image by means of a dither matrix. The grey scale image has many grey levels and many pixels. Each pixel has a value. The dither matrix occupies a physical space and has numerous elements. Each element also has a value. This matrix is mapped over the grey scale image to generate the halftone image. For a grey scale image that is larger than the space occupied by the dither matrix, the matrix replicates itself to cover the entire image. Each pixel in the grey scale image is compared to an element in the matrix. If the grey scale image pixel has a larger value, a dot will not be printed in a corresponding position in the halftone image. The halftone image created has the same number of grey level patterns as the number of grey levels in the grey scale image. A darker area in the grey scale image is represented in the halftone image by a grey level pattern with more dots.
In order to generate a halftone image using the above method, the dither matrix must be carefully designed. The elements in the matrix should not be generated by a random number generator, because a fully random pattern would create a halftone image that is noisy, corrupting the content of the image.
One prior art method of designing this matrix is known as the void-and-cluster method. A general discussion of the void-and-cluster method can be found in "The Void-and-Cluster Method for Dither Array Generation," written by Robert Ulichney, and published in SPIE/IS&T Symposium on Electronic Imaging Science and Technology, San Jose, Calif., 1993. FIG. 1A shows a grey level pattern of a halftone image generated by the void-and-cluster method. The Figure was printed by a 600 dots-per-inch printer. To enhance the image, each printed dot is magnified nine times, with the image duplicated 4 times, once along the horizontal direction, and then along the vertical direction. The pattern represents a highlight region of the halftone image, which means a light grey level pattern. The pattern has significant non-uniformities, such as the voids in positions S1, S2, S3 and S4. These non-uniformities distort the halftone image.
Another prior art uses an error diffusion method to generate the halftone image This method analyzes every pixel of the grey scale image, one at a time, to decide if a dot is to be printed in its halftone image. Errors from each pixel is "diffused" to its subsequent neighboring pixels. Such pixel-to-pixel calculation requires very intensive computation. Thus, the error diffusion method takes much longer time to generate the halftone image than a method applying the dither matrix. Moreover, the error diffusion method is not suitable for vector graphics. This is because the values of pixels on a halftone image may not be calculated sequentially. A discussion of such a method can be found in "An Adaptive Algorithm for Spatial Grayscale," written by Floyd and Steinberg, and published in the Proceeding of the Society for Information Display, Vol. 17, page 75-77, 1976.
There is still a need for a way to generate a halftone image from a grey scale image without very intensive computation. The method should be suitable for both raster or vector graphics. Furthermore, it is desirable if there is a way to minimize non-uniformities in the grey level patterns of the halftone image.